import axios from 'axios'
import { getToken, removeToken } from '@/utils/auth';
import router from '@/router';


// import qs from "qs";//qs为序列化数据的js库

//设置baseUrl
// axios.defaults.baseURL = process.env.NODE_ENV === "production" ? "http://127.0.0.1:4523/m1/1713265-1808143-default" : "/api";
// axios.defaults.baseURL = "http://127.0.0.1:4523/m1/1713265-1808143-default";

axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
    // axios中请求配置有baseURL选项，表示请求URL公共部分
    // baseURL: process.env.VUE_APP_BASE_API,
    baseURL: "http://127.0.0.1:8082/blog/",
    // 超时
    timeout: 10000
})
//请求拦截器
service.interceptors.request.use(
    config => {
        const isToken = (config.headers || {}).isToken === false
        if (getToken() && !isToken) {
            config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
        }
        return config;
    },
    error => {
        return Promise.reject(error);
    }
);


//响应拦截器
service.interceptors.response.use(
    res => {
        // 未设置状态码则默认成功状态
        // const code = res.data.code || 200;
        if (res.status == 200) {
            return res.data
        } else {
            console.log(res.status)
            return Promise.reject('error')
        }
    },
    error => {
        if (error.status == 403) {
            removeToken()
            router.replace({ path: "/login" })
        } else {
            alert(`异常请求：${JSON.stringify(error.message)} ,${error.status}`)
            return Promise.reject("error")
        }


    }
);

export default service